package com.taosdata.taosdemo.dao;

import com.taosdata.taosdemo.domain.SubTableMeta;
import com.taosdata.taosdemo.domain.SubTableValue;

import java.util.List;

/**
 * @author PC
 */
public interface SubTableMapper {
    /**
     * 创建：子表
     *
     * @param subTableMeta
     * @return void
     * @throws
     **/
    void createUsingSuperTable(SubTableMeta subTableMeta);

    /**
     * 插入：一张子表多个values
     *
     * @param subTableValue
     * @return int
     * @throws
     **/
    int insertOneTableMultiValues(SubTableValue subTableValue);

    /**
     * 插入：一张子表多个values, 自动建表
     *
     * @param subTableValue
     * @return int
     * @throws
     **/
    int insertOneTableMultiValuesUsingSuperTable(SubTableValue subTableValue);

    /**
     * 插入：多张表多个values
     *
     * @param tables
     * @return int
     * @throws
     **/
    int insertMultiTableMultiValues(List<SubTableValue> tables);

    /**
     * 插入：多张表多个values，自动建表
     *
     * @param tables
     * @return int
     * @throws
     **/
    int insertMultiTableMultiValuesUsingSuperTable(List<SubTableValue> tables);

    // TODO：修改子表标签值 alter table ${tablename} set tag tagName=newTagValue
}